package com.nicolas.pattern.builder;

/**
 * Builder（抽象建造者）：它为创建一个产品Product对象的各个部件指定抽象接口，在该接口中一般声明两类方法，
 * 一类方法是buildPartX()，它们用于创建复杂对象的各个部件；
 * 另一类方法是getResult()，它们用于返回复杂对象。
 * Builder既可以是抽象类，也可以是接口。
 * @author nicolas  2017年2月11日 -- 下午7:53:35
 */
public abstract class ActorBuilder {
		protected  Actor actor = new Actor();
	  
	   public  abstract void buildType();
	   public  abstract void buildSex();
	   public  abstract void buildFace();
	   public  abstract void buildCostume();
	   public  abstract void buildHairstyle();
	
	//工厂方法，返回一个完整的游戏角色对象
	   public Actor createActor()
	   {
	          return actor;
	   }
}
